11111

COURSE INTRODUCTION AND APPLICATION INFORMATION


se.cs.ieu.edu.tr

Course Name
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
Fall/Spring
Prerequisites
None
Course Language
Course Type
Elective
Course Level
-
Mode of Delivery -
Teaching Methods and Techniques of the Course Problem Solving
Course Coordinator
Course Lecturer(s)
Assistant(s) -
Course Objectives
Learning Outcomes The students who succeeded in this course;
  • be able to grasp and understund the different types of algorithms and when they are suitable to use
  • be able to design and implement efficient Greedy algorithms suitable to solve a particular computational problem
  • be able to design and implement efficient divide and conquer algorithms suitable to solve a particular computational problem
  • be able to design and implement efficient dynamic programs suitable to solve a particular optimization problem
  • be able to design and implement efficient approximation algorithms suitable to solve a particular computational problem
Course Description

 



Course Category

Core Courses
Major Area Courses
X
Supportive Courses
Media and Managment Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Required Materials
1 Introduction: Some Representative Problems Course Book; Chapter 1.
2 Basics of Algorithms Analysis Course Book; Chapter 2.
3 Graphs Course Book; Chapter 3.
4 Greedy Algorithms: Interval Scheduling Course Book; Chapter 4.
5 Greedy Algorithms: Scheduling to Minimize Lateness Course Book; Chapter 4.
6 Greedy Algorithms : Minimum-Cost Arborescences Course Book; Chapter 4.
7 Divide and Conquer: Counting Inversions Course Book; Chapter 5.
8 Midterm
9 Divide and Conquer: Integer Multiplication Course Book; Chapter 5.
10 Divide and Conquer: Convolutions and The Fast Fourier Transform Course Book; Chapter 5.
11 Dynamic Programming: Weighted Interval Scheduling Course Book; Chapter 6.
12 Dynamic Programming: Subset Sums and Knapsacks Course Book; Chapter 6.
13 Dynamic Programming: Sequence Alignment Course Book; Chapter 6.
14 Approximation Algorithms: Load Balancing Course Book; Chapter 11.
15 Approximation Algorithms: Set Cover Course Book; Chapter 11.
16 Review of the Semester  
Course Notes/Textbooks Algorithm Design, Jon Kleinberg, Éva Tardos, ISBN-10: 0321295358, ISBN-13: 9780321295354, Addison-Wesley, 2005.
Suggested Readings/Materials Algorithms, Cormen, T.H., Liesersan, C.E. and Rivest, R.L. ISBN 0-01-013143-0, McGraw-Hill

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
1
10
Laboratory / Application
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
Seminar / Workshop
Oral Exam
Midterm
2
50
Final Exam
1
40
Total

Weighting of Semester Activities on the Final Grade
60
Weighting of End-of-Semester Activities on the Final Grade
40
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Course Hours
(Including exam week: 16 x total hours)
16
3
48
Laboratory / Application Hours
(Including exam week: 16 x total hours)
16
Study Hours Out of Class
15
2
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
Seminar / Workshop
Oral Exam
Midterms
2
16
Final Exams
1
13
    Total
123

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Be able to define problems in real life by identifying functional and nonfunctional requirements that the software is to execute X
2 Be able to design and analyze software at component, subsystem, and software architecture level X
3 Be able to develop software by coding, verifying, doing unit testing and debugging X
4 Be able to verify software by testing its behaviour, execution conditions, and expected results X
5 Be able to maintain software due to working environment changes, new user demands and the emergence of software errors that occur during operation X
6 Be able to monitor and control changes in the software, the integration of software with other software systems, and plan to release software versions systematically X
7 To have knowledge in the area of software requirements understanding, process planning, output specification, resource planning, risk management and quality planning
X
8 Be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes X
9 Be able to use various tools and methods to do the software requirements, design, development, testing and maintenance X
10 To have knowledge of basic quality metrics, software life cycle processes, software quality, quality model characteristics, and be able to use them to develop, verify and test software X
11 To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, project management, quality management, software ergonomics and systems engineering X
12 Be able to grasp software engineering culture and concept of ethics, and have the basic information of applying them in the software engineering X
13

Be able to use a foreign language to follow related field publications and communicate with colleagues

X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 

İzmir Ekonomi Üniversitesi | Sakarya Caddesi No:156, 35330 Balçova - İZMİR Tel: +90 232 279 25 25 | webmaster@ieu.edu.tr | YBS 2010